package com.heyue.ems.service.impl;

import java.util.List;
import com.heyue.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.heyue.ems.mapper.OrderHistoryMapper;
import com.heyue.ems.domain.OrderHistory;
import com.heyue.ems.service.IOrderHistoryService;

/**
 * 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）Service业务层处理
 * 
 * @author WCHU
 * @date 2021-07-26
 */
@Service
public class OrderHistoryServiceImpl implements IOrderHistoryService 
{
    @Autowired
    private OrderHistoryMapper orderHistoryMapper;

    /**
     * 查询订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * 
     * @param id 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）ID
     * @return 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     */
    @Override
    public OrderHistory selectOrderHistoryById(Long id)
    {
        return orderHistoryMapper.selectOrderHistoryById(id);
    }

    /**
     * 查询订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）列表
     * 
     * @param orderHistory 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * @return 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     */
    @Override
    public List<OrderHistory> selectOrderHistoryList(OrderHistory orderHistory)
    {
        return orderHistoryMapper.selectOrderHistoryList(orderHistory);
    }

    /**
     * 新增订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * 
     * @param orderHistory 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * @return 结果
     */
    @Override
    public int insertOrderHistory(OrderHistory orderHistory)
    {
        return orderHistoryMapper.insertOrderHistory(orderHistory);
    }

    /**
     * 修改订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * 
     * @param orderHistory 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * @return 结果
     */
    @Override
    public int updateOrderHistory(OrderHistory orderHistory)
    {
        orderHistory.setUpdateTime(DateUtils.getNowDate());
        return orderHistoryMapper.updateOrderHistory(orderHistory);
    }

    /**
     * 批量删除订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）
     * 
     * @param ids 需要删除的订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）ID
     * @return 结果
     */
    @Override
    public int deleteOrderHistoryByIds(Long[] ids)
    {
        return orderHistoryMapper.deleteOrderHistoryByIds(ids);
    }

    /**
     * 删除订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）信息
     * 
     * @param id 订单（同行单、包括详情）的状态改变时将订单（同行单）快照插入此（快照）ID
     * @return 结果
     */
    @Override
    public int deleteOrderHistoryById(Long id)
    {
        return orderHistoryMapper.deleteOrderHistoryById(id);
    }
}
